//axios二次封装
import axios from "axios";
//引入进度条插件
import nprogress from 'nprogress';
//引入样式
import 'nprogress/nprogress.css'
//关闭右侧加载小球
nprogress.configure({ showSpinner: false });
//利用axios对象create方法:创建axios对象
let request = axios.create({
    baseURL: "/mock",//基础路径
    timeout: 5000//超时的设置
});
 
//请求拦截器
request.interceptors.request.use((config) => {
    //config:配置对象,请求头config.headers,携带公共请求参数
    //请求之前进度条开始动
    nprogress.start();
    return config;
});
 
//响应拦截器
request.interceptors.response.use((res) => {
    //根据状态码进行其他判断
    let data = res.data;
    //请求成功进度条消失
    nprogress.done();
    //简化数据
    return data;
}, (error) => {
    //返回一个失败的promise对象
    return Promise.reject(error)
});
 
//对外暴露
export default request;